// #define _GNU_SOURCE
// #include <pthread.h>
// #include <stdio.h>
// #include <unistd.h>

#define _GNU_SOURCE
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>

/*在主线程中创建分线程并运行 */

void *first_thread_func(void *args)
{
    printf("第一分线程(%d)开始执行\n", gettid());
}
void *secnod_thread_func(void *args)
{
    printf("第二分线程(%d)开始执行\n", gettid());
}
// first_thread_func,secnod_thread_func
int main(int argc, char const *argv[])
{
    printf("主线程(%d)开始执行\n", gettid());
    /*创建两个分线程*/
    pthread_t pt1, pt2;
    pthread_create(&pt1, NULL, first_thread_func, NULL);
    pthread_create(&pt2, NULL, secnod_thread_func, NULL);

    /*删除分线程1*/
    // int result = pthread_cancel(pt1);
    // if (!result)
    // {
    //     printf("pt1 has been del\n");
    // }

    /*等待分线程执行结束*/
    pthread_join(pt1, NULL);
    pthread_join(pt2, NULL);

    printf("主线程(%d)即将结束\n", gettid());
    return 0;
}
